import java.math.BigInteger;
import java.util.Arrays;


public class P65 {
	public static void main(String[] args) {
		System.out.println(Math.E);
	
		BigInteger[] x = null;
		int n = 100 - 1;
		for (int i = n; i >= 1; i--) {
			int k = 1;
			if ((i - 1)%3 == 1) {
				k = 2 * ((i + 1)/3);
			}	
			System.out.println(">>>K:" + k);
			if (x == null) {
				x = convergent(i);				
			} else {
				x[0] = x[1].multiply(new BigInteger(String.valueOf(k))).add(x[0]);
				x = reverse(x);
			}
			
			System.out.println(Arrays.toString(x));
		}
		
		
		String num = String.valueOf(x[1].multiply(new BigInteger("2")).add(x[0]));
		System.out.println(num);
		int sum = 0;
		for (int i = 0; i < num.length(); i++) {
			sum += Integer.parseInt(num.substring(i, i + 1));
		}
		System.out.println(sum);
	}
	
	public static BigInteger[] reverse(BigInteger[] x) {
		BigInteger[] n = new BigInteger[2];
		n[0] = x[1];
		n[1] = x[0];
		return n;
	}
	
	public static BigInteger[] convergent(int i) {
		int k = 1;
		if ((i - 1)%3 == 1) {
			k = 2 * ((i + 1)/3);
		}
		
		BigInteger[] x = new BigInteger[2];		 
		x[0] = new BigInteger("1");
		x[1] = new BigInteger(String.valueOf(k));
		
		return x;
	}
	
	
}
